Mac OS X YosemiteでJenkinsを動かすために必要なこと
概要
一応書く。
ケースとしては、
Mac用のPackageを公式から落としてきてそのままの権限でとりあえずうごいてくれればいい、
そしたらママもう何も言わない、 みたいなケース。
まあこのあとgitとかの権限で必ず揉めるんだけどさ。
Javaが必要(わすれがち)
インストールしましょう。
次の手順に気を取られて忘れてて、初めてJavaがない場合どんなエラーだすか見た。
公式PackageでYosemiteにJenkinsをインストールすると、
Macにデフォで入ってる自動launch支援ツール launchdに対して設定が組み込まれる。
で、ここでは、exe(か、shell?)経由でPackageでインストールされたJenkins.warあたりをぶっ叩いているのだけれど、
Javaがインストールされていない場合、
pair of (jenkinsci, Jenkins.war) does not exist
みたいなエラーが出る。
このエラーが出た場合、ってわけじゃないんだけど、.warって文字列をみて、
「あっJavaいれてねーや」
って思い出した。
Yosemite、ログ吐くところの権限設定が必要
いままでと違うところで、知るはずも無い。
Jenkinsさん、Packageでインストールすると、jenkinsという名前のユーザーを勝手につくる。
で、このユーザーに対して、/var/log/jenkinsフォルダへの書き込み権限が無いので、
無限に起動に失敗する。
(インストール時にやってくれればいいんだけどな。)
com.apple.xpc.launchd がエラーをログとして残しているので、
Console.app とかで見よう。
権限調整すれば完了する。
sudo chown jenkins /var/log/jenkins
もしJenkins自体の実行権限をjenkins ではなく rootとかに変える場合、
パッケージでインストールしていると、Jenkinsの起動にはlaunchctlが勝手に組まれているので、
launchctlに仕込まれているジョブ? をunloadしたりする必要がある。
http://sassembla.github.io/Public/2013:05:13%2016-23-21/2013:05:13%2016-23-21.html
それでも死ぬ場合
すでに吐いたログファイルを消すと生き返ったりする。
吐き出すjenkins.logの権限が変わったりすると、上書きできずに死ぬっぽい。
なんで変わるのかは追えてない。